home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / AMarquee / include / amiga / clib / AMarquee_protos.h
C/C++ Source or Header  |  1998-06-24  |  3KB  |  61 lines

  1. #ifndef AMARQUEE_PROTOS_H
  2. #define AMARQUEE_PROTOS_H
  3.  
  4. #include <rexx/storage.h>
  5.  
  6. #ifndef AMARQUEE_H
  7. #include <libraries/Amarquee.h>
  8. #endif
  9.  
  10. #ifdef __SASC_60
  11. #define LibCall libcall
  12. #else
  13. #define LibCall __geta4 __regargs
  14. #endif
  15.  
  16. /* Open or close a connection */
  17. extern LibCall struct QSession * QNewSession(char * hostname, LONG port, char * progname);  /* returns socket descriptor */
  18. extern LibCall struct QSession * QNewSessionAsync(char * hostname, LONG port, char * progname);  /* returns socket descriptor */
  19. extern LibCall LONG QFreeSession(struct QSession * session);
  20.  
  21. /* Transactions--these return their transaction ID #, or zero on no memory. */
  22. extern LibCall LONG QDebugOp(struct QSession * session, char * string);
  23. extern LibCall LONG QGetOp(struct QSession * session, char * wildpath, LONG maxBytes);
  24. extern LibCall LONG QDeleteOp(struct QSession * session, char * wildpath);
  25. extern LibCall LONG QRenameOp(struct QSession * session, char * path, char * label);
  26. extern LibCall LONG QSubscribeOp(struct QSession * session, char * wildpath, LONG maxBytes);
  27. extern LibCall LONG QSetOp(struct QSession * session, char * path, void * buffer, ULONG bufferLength);
  28. extern LibCall LONG QClearSubscriptionsOp(struct QSession * session, LONG which);
  29. extern LibCall LONG QPingOp(struct QSession * session);
  30. extern LibCall LONG QInfoOp(struct QSession * session);
  31. extern LibCall LONG QSetAccessOp(struct QSession * session, char * newAccess);
  32. extern LibCall LONG QGo(struct QSession * session, ULONG flags);
  33.  
  34. /* Call this function to free your QMessage! */
  35. extern LibCall void FreeQMessage(struct QSession * session, struct QMessage * qmsg);
  36.  
  37. /* Use this to open a host QSession to receive connections on. */
  38. extern LibCall struct QSession * QNewHostSession(char * hostnames, LONG * port, char * progNames);
  39. extern LibCall LONG QStreamOp(struct QSession * session, char * path, void * buffer, ULONG bufferLength);
  40. extern LibCall struct QSession * QNewServerSession(char * hostNames, char * progNames);
  41.  
  42. extern LibCall LONG QSetMessageAccessOp(struct QSession * session, char * newAccess, LONG maxBytes);
  43. extern LibCall LONG QMessageOp(struct QSession * session, char * hosts, void * buffer, ULONG bufferLength);
  44.  
  45. extern LibCall ULONG QNumQueuedPackets(struct QSession * session);
  46. extern LibCall ULONG QNumQueuedBytes(struct QSession * session);
  47.  
  48. extern LibCall char * QErrorName(LONG error);
  49.  
  50. /* Administrative calls, introduced for v1.45 */
  51. extern LibCall LONG QRequestPrivilegesOp(struct QSession * session, ULONG privBits);
  52. extern LibCall LONG QReleasePrivilegesOp(struct QSession * session, ULONG privBits);
  53. extern LibCall LONG QKillClientsOp(struct QSession * session, char * hosts);
  54. extern LibCall LONG QSetParameterOp(struct QSession * session, char * paramName, char * newValue);
  55. extern LibCall LONG QGetParameterOp(struct QSession * session, char * paramName);
  56. extern LibCall LONG QSysMessageOp(struct QSession * session, char * hosts, char * message);
  57.  
  58. /* Convenience method, introduced for v1.46 */
  59. extern LibCall LONG QGetAndSubscribeOp(struct QSession * session, char * wildpath, LONG maxBytes);
  60.  
  61. #endif /* AMARQUEE_PROTOS_H */